二组数组与指针中a[i]和*(a+i)等价问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:44:09
a[0]和*(a+0)等价,a[1]和*(a+1)等价,a[i]和*(a+i)等价.因此a[0]+1和*(a+0)+1的值都是&a[0][1]

怎么理解a[i]和*(a+1)等价,是把它放到一组数组中去理解吗?*(a+1)怎么可以表示地址?"*"号不是表示值吗??

你要记住 a[i]和*(a+i)等价的,
但在二维数组中表示的是 地址。
在一位数组中是直。
你可以这样理解,
一个一位数组,他的每个元素都是一个数组,那他就是一个二维数组,
那么a[i]或*(a+i)就表示相应的那个元素,而这个元素是一个数组,
当然a[i]或*(a+i)指的就是这一数组的首地址,
以此推之,a[i]+j或*(a+i)+j就是&a[i][j]

*在指针面前是值,就是把他当成一位数组来理解,a是一个首地址,首地址+1,就是在首地址后加一个存储单元。所已相等

11